package org.example.serializer;/**
 * @Description: TODO
 * @Author: sats@jz
 * @Date: 2024/12/24 16:03
 **/

import java.io.IOException;

/**
 * @description TODO
 * @author sats@jz
 * @date 2024年12月24日 16:03
 */
public interface Serializer {
    /**
     * @description 序列化
     * @author: sats@jz
     * @param  : null - [null]
     * @return : null
     **/

    <T> byte[] serialize(T object) throws IOException;

    /**
     * @description 反序列化
     * @author: sats@jz
     * @param  : data - [byte], clazz - [java.lang.Class<T>]
     * @return : T
     **/
    <T> T deserialize(byte[] data, Class<T> clazz) throws IOException;
}
